Shared Nothing Architecture
Die Shared-Nothing-Architektur (oder kurz Shared Nothing, Abk. SN) beschreibt eine Architektur eines verteilten Systems (z. B. Aktiv/Aktiv-Cluster), bei der jeder Knoten unabhängig und eigenständig seine Aufgaben mit seinem eigenen Prozessor und den zugeordneten Speicherkomponenten wie Festplatte und Hauptspeicher erfüllen kann und kein bestimmter, einzelner Knoten für die Verbindung zu einer Datenbank notwendig ist. Die Knoten sind über ein LAN- oder WAN-Netzwerk miteinander verbunden. Jeder Knoten verfügt darüber hinaus über eine Kopie des Datenbank-Management-Systems, der Knoten kann Aufgaben an einen anderen nicht ausgelasteten Knoten weitergeben.
Shared-Nothing-Systeme werden oft im Gegensatz zu Systemen verstanden, die eine Vielzahl von Statusinformationen zentral speichern, wie etwa Datenbank- oder Anwendungsserver. Wenn auch der Begriff Shared Nothing erst im Zusammenhang mit der Weiterentwicklung des World Wide Web in einem größeren Kreis bekannt wurde, so war das Konzept schon weit vorher verwendet worden. Michael Stonebraker erwähnte den Begriff bereits in einer Veröffentlichung zu Datenbanken im Jahre 1986 an der University of California in Berkeley, es ist jedoch durchaus möglich, dass der Begriff schon früher geprägt wurde.[1]
Shared Nothing ist auf Grund seiner Skalierbarkeit beliebt für Webanwendungen oder parallele Datenbanksysteme. Wie bei Google gezeigt werden konnte, ist ein Shared-Nothing-System nahezu unbegrenzt durch Ergänzung zusätzlicher Knoten in Form preiswerter Computer ausbaubar, weil kein einzelnes Netzwerkelement existiert, dessen begrenzte Leistung die Geschwindigkeit des gesamten Systems vermindert.
Ein Shared-Nothing-System kann seine Daten auf viele verschiedene Knoten aufteilen, zum Beispiel durch Zuordnung bestimmter Knoten zu bestimmten Anwendern oder zu bestimmten Webabfragen, oder es kann von jedem Knoten fordern, seine eigene Kopie der Anwendungsdaten zu halten, was aber die Verwendung eines Koordinierungsprotokolls-/Verfahrens zwischen den Knoten notwendig macht.
Es gibt einige Diskussionen darüber, ob eine Webanwendung mit verschiedenen, unabhängigen Netzwerkrechnern, aber einer einzigen, zentralen Datenbank, z. B. in Form eines Computerclusters als ein Shared-Nothing-System betrachtet werden soll.
Andere Architekturen mit davon abweichender Auslegung sind:
- Shared-Memory-Architektur
- Shared-Disk-Architektur
- Shared-Everything-Architektur. Hier werden alle Systemkomponenten von mehreren Prozessoren gemeinsam genutzt.
Siehe auch
[Bearbeiten | Quelltext bearbeiten]Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Michael Stonebraker (UC Berkeley), The Case for Shared Nothing Architecture (PDF, 19 kB). Originalveröffentlichung in Database Engineering, Jahrgang 9, Nummer 1 (1986) (englisch)